home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_09_04 / 9n04120a < prev    next >
Text File  |  1990-12-29  |  1KB  |  38 lines

  1. #include <stdio.h>
  2.  
  3. FILE *ofp;
  4.  
  5. void main( void ) {
  6.  
  7.         double big, small;
  8.         float  fbig, fsmall;
  9.         int    flag[4], power;
  10.  
  11.         ofp = fopen( "roundoff.out", "w" );
  12.  
  13.         big = small = 1.0;
  14.         fbig = (float)big;
  15.  
  16.         for( power = 1; power <= 50; power++ ) {
  17.  
  18.              small *= 0.1;
  19.              fsmall = (float)small;
  20.              flag[0] = flag[1] = flag[2] = flag[3] = 1;
  21.  
  22.              if( big+small == big )
  23.                      flag[0] = 0;
  24.              if( (big+small) == big )
  25.                      flag[1] = 0;
  26.  
  27.              if( fbig+fsmall == fbig )
  28.                      flag[2] = 0;
  29.              if( (fbig+fsmall) == fbig )
  30.                      flag[3] = 0;
  31.  
  32.              printf( "Power = %2d, Big+Small = %e, Flags = %d %d %d %d\n",
  33.                      power, big+small, flag[0], flag[1], flag[2], flag[3] );
  34.              fprintf( ofp, "Power = %2d, Big+Small = %e, Flags = %d %d %d %d\n",
  35.                      power, big+small, flag[0], flag[1], flag[2], flag[3] );
  36.              }
  37.         }
  38.